#include <stdio.h>

int xja_add(int x, int y){
	int sum = x + y;
	return sum;
}

int xja_sub(int x, int y){
	int sum = x - y;
	return sum;
}

// 函数的功能是实现两个整数的运算
// 回调函数：使用函数指针作为函数的参数，
// 	在函数内容通过函数指针调用函数时 具体调用的是哪个函数
// 	取决于用户调用jisuan函数时 传递的第三个参数
// 	第三个参数传哪个函数 通过p回头调用的就是哪个函数
int jisuan(int x, int y, int (*p)(int, int)){
	return p(x, y);
}

int main(int argc, const char *argv[])
{
	int a = 10;
	int b = 20;
	printf("%d\n", jisuan(a, b, xja_add)); // 30
	printf("%d\n", jisuan(a, b, xja_sub)); // -10

	return 0;
}
